home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Info-Mac 4
/
Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso
/
Science
/
RLaB
/
misc
/
ANNOUNCE
< prev
next >
Wrap
Text File
|
1994-04-25
|
6KB
|
180 lines
** RLaB Version 0.50 Available
Rlab is a "MATLAB-like" matrix-oriented programming
language/toolbox. Rlab has been in a closed alpha test for 5
months, and is now available to all who are interested.
** Description:
Rlab is _not_ a clone of languages such as those used by tools
like MATLAB # or matrix_X/Xmath ##. However, as Rlab focuses
on creating a good experimental environment (or laboratory) in
which to do matrix math, it can be called "MATLAB-like" since
its programming language possesses similar operators and
concepts. Extensive use has been made of the LAPACK, FFTPACK
and RANLIB sources available from netlib.
The most significant difference between the other proprietary
tools and RLaB is the GNU Copyleft.
Currently Rlab has numeric scalars and matrices (real and
complex), and string scalars, and matrices. Rlab also contains
a list variable type, which is a heterogeneous associative
array.
A set of built-in functions is provided, as well as a
capability to write your own functions in the Rlab language.
The language contains IF, FOR, and WHILE flow control
constructs, and a set of arithmetic, relational, and logical
operators.
The following is a list of the currently available functions:
abs cross ifft mini reshape system
acos det imag mod round tan
all diag inf name scalar tanh
any diary int nan show tic
asin eig inv norm sign toc
atan epsilon linspace ode23 sin trace
atan2 error load ones sinh tril
balance exp log pinv size triu
ceil eye log10 plot solve type
chol fft logspace printf sort what
class find lu qr sprintf who
clear floor matrix rand sqrt write
close format max rank srand writem
compan fprintf maxi rcond std zeros
conj getline mean read strsplt
cos hess members readm sum
cosh hilb min real svd
The following is an example of an Rlab function:
//
// Modified Gram-Schmidt
// Given A (MxN), with rank(A) = N. The following algorithm computes
// the factorization A = Q*R (skinny QR) where Q (MxN) has orthonormal
// columns and R (NxN) is upper triangular
//
// Algorithm from MATRIX Computations,
// G.H. Golub, C.F. Van Loan (page 219)
//
mgs = function(A)
{
local(a,k,j,n,m,q,r);
a = A; // args passed by reference
m = a.nr;
n = a.nc;
for(k in 1:n)
{
r[k;k] = norm( a[1:m;k], "2" );
q[1:m;k] = a[1:m;k]/r[k;k];
for(j in 1:n)
{
r[k;j] = q[1:m;k]' * a[1:m;j];
a[1:m;j] = a[1:m;j] - q[1:m;k] * r[k;j];
}
}
return << q = q; r = r >>; // return a list
}
** Documentation:
1) The RLaB Primer is designed to get you started as a new
user of RLaB. It covers the steps necessary to run RLaB,
describes data types and operations, discusses programming
constructs and the organization of your code, and introduces
plotting. A quick reference section of available functions is
also included. Files: latex source, tex dvi, and postscript.
2) The RLaB Reference Manual contains a set of "railroad"
diagrams describing the language (like the pascal texts always
include).
The RLaB primer and Reference Manual will be available
shortly. If you "register" with ians@eskimo.com, you will be
notified when they are ready.
3) On-line help is present, and evolving (that is what you say
when something can only get better :-)
** Implementation:
RLaB is written in C. Although ANSI-C features have been used,
they can be turned off. RLaB has been compiled with Sun's
non-ANSI cc. The goal is, and will continue to be, to make
RLaB as portable as possible.
LAPACK, FFTPACK, and RANLIB Fortran libraries are used.
Currently f2c'ed versions of these libraries are available. It
is possible to use native Fortran libraries. In the future the
choice of Fortran, or f2c will be selectable during configure.
For the time being all that is needed is a C compiler, and the
f2c libraries (available from netlib).
GNUPLOT 3.x is used to handle the crude interactive plotting.
Users are expected to obtain: GNUPLOT (prep.ai.mit.edu),
libI77.a libF77.a (from the f2c distribution,
research.att.com) themselves.
Rlab has been ported to: SVR4 (i386)
DECstation 3100 (Ultrix 4.x)
Sun 4 (Sun OS-4.x)
IBM RS/6000 (?)
SGI
HP-9000/720 (HP-UX 8.05)
Titan P3000 (Sys Vr3.?/BSD)
OS/2 *
AMIGA-DOS *
* Testers have compiled it on these platforms, but changes
have not been integrated into the source distribution.
** Current Status:
Even though Rlab has been through an alpha test, I still
consider it alpha software (I hope my standards are on the
strict side). However, it should not be long before we can
safely label it beta-software.
** Bug Reports:
Send bug reports, comments, complaints, suggestions, or
whatever to: ians@eskimo.com. Please include a script which
exercises the bug, along with a description of the hardware
and software platform.
** Acknowledgements:
I would like to thank Phillip Musumeci and Brad Hards for
volunteering to do the bulk of the documentation.
I would like to thank Mike Brennan and Scott Hunziker and Dave
Wilson. I would also like to acknowledge the alpha testers who
have made invaluable contributions.
** Where to get it:
ftp-site: evans.ee.adfa.oz.au
in: /pub/alpha/RLaB
The minimum set of files to get is:
rlab-0.50.tar.Z
rblas.tar.Z BLAS library
rlap-0.30.tar.Z LAPACK library
rfft-0.11.tar.Z FFTPACK library
rnlib-0.11.tar.Z RANLIB library
Please try and get the sources during non prime time hours.
Enjoy...
Ian Searle
ians@eskimo.com
# MATLAB is a trademark of The Math Works.
## matrix_X and Xmath are trademarks of I.S.I.